import java.util.Arrays;

public class Wu_97 {
    public static void main(String[] args) {
        double [] array={2,1,3,4,7,6,5};
        new Wu_97().insertionSort(array);
        System.out.println(Arrays.toString(array));
    }
    void insertionSort(double [] array){

        for(int i=1;i<array.length;i++){
            //取出无序部分第一个元素
            //由于插入元素时，整体后移，需存储该元素的值
            double value=array[i];
            int j=i-1;
            while(j>=0 && value<array[j]){
                //插入引起的后移
                array[j+1]=array[j];
                j--;
            }
            array[j+1]=value;
        }
    }
    void bubbleSort(double[] array){
        for(int i=0;i<array.length;i++){
            // 注意j+1，不要越界
            for(int j=0;j<array.length-1-i;j++){
                if(array[j]>array[j+1])
                    swap(array,j,j+1);
            }
        }
    }
    void selectionSort(double[] array){
        for(int i=0;i<array.length;i++){
            int min=i;//存储最小值的位置
            for(int j=i+1;j<array.length;j++){
                if(array[j]<array[min]){
                    min=j;
                }
            }
            swap(array,i,min);
        }
    }
    void swap(double [] array ,int i , int j){
        double key=array[i];
        array[i]=array[j];
        array[j]=key;
    }
}
